/* ===================================================================
 * Copyright (C) 2023 Hefei Jiushao Intelligent Technology Co., Ltd.
 * All rights reserved.
 *
 * This software is licensed under the GNU Affero General Public License
 * v3.0 (AGPLv3.0) or a commercial license. You may choose to use this
 * software under the terms of either license.
 *
 * For more information about the AGPLv3.0 license, please visit:
 * https://www.gnu.org/licenses/agpl-3.0.html
 * For licensing inquiries or to obtain a commercial license, please
 * contact Hefei Jiushao Intelligent Technology Co., Ltd.
 * ===================================================================
 * Author: JasonChen
 */

#ifndef EXCHANGE_OBJ_H
#define EXCHANGE_OBJ_H

#pragma once
#include "ExchangeBase.h"
#include "common/constant.h"

AMCAX_EXCHANGE_NAMESPACE_BEGIN

class ExchangeObj : public ExchangeBase
{
public:
    ExchangeObj(std::string file_path):ExchangeBase(file_path){} ;
    ExchangeObj(std::ifstream *in_file_stream,std::ofstream *out_file_stream)
    :ExchangeBase(in_file_stream,out_file_stream,EXCHANGE_FILE_TYPE::OBJ){} ;
    void ReadFromFilePath() override ;
    void ReadFromFileStream() override ;
    void Write(const std::vector<std::shared_ptr<ExchangeObject>>& exchange_shapes, const std::shared_ptr<ExchangeDocumentInstance> &exchangeDocumentInstance) override ;
private:

};
AMCAX_EXCHANGE_NAMESPACE_END

#endif